Skip to content

acc: build CLI with FIPS toolchain so go test matches release - #6369

Merged
ilyakuz-db merged 4 commits into
mainfrom
fips-go-test
Aug 25, 2026
Merged

acc: build CLI with FIPS toolchain so go test matches release#6369
ilyakuz-db merged 4 commits into
mainfrom
fips-go-test

Conversation

@ilyakuz-db

Copy link
Copy Markdown
Contributor

Changes

Build the CLI binary with the FIPS toolchain in BuildCLI, reading the pinned GOFIPS140 version from Taskfile.yml. Previously the FIPS build settings were only set via the Taskfile's global env:, so a plain go test ./acceptance produced a non-FIPS binary and acceptance/fips failed.

Why

The acceptance/fips test is a sanity check that we ship a FIPS build. It only passed when run through task, which exports GOFIPS140. Setting it in the root test.toml doesn't help because it's a build-time toolchain env, not a runtime one — it has to be applied where the test builds the binary. Reading it from Taskfile.yml keeps a single source of truth.

Tests

go test ./acceptance -run TestAccept/fips now passes both with and without GOFIPS140 set in the environment.

Co-authored-by: Isaac <no-reply@databricks.com>
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 4918103

Run: 32842189893

Env 🔄​flaky 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 1 4 274 1181 3:59
🔄​ aws windows 1 4 276 1179 6:45
💚​ azure linux 1 4 273 1181 4:29
🔄​ azure windows 2 1 4 273 1179 3:33
💚​ gcp linux 1 4 274 1181 4:53
💚​ gcp windows 1 4 276 1179 3:24
7 interesting tests: 4 SKIP, 3 flaky
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
🔄​ TestAccept 💚​R 🔄​f 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🔄​ TestFsCpDirToDirFileNotOverwritten ✅​p ✅​p ✅​p 🔄​f ✅​p ✅​p
🔄​ TestFsCpDirToDirFileNotOverwritten/dbfs_to_uc-volumes ✅​p ✅​p ✅​p 🔄​f ✅​p ✅​p
Top 3 slowest tests (at least 2 minutes):
duration env testname
3:32 aws windows TestAccept
3:13 gcp windows TestAccept
3:11 azure windows TestAccept

…S140

Co-authored-by: Isaac <no-reply@databricks.com>
@ilyakuz-db
ilyakuz-db requested a review from denik August 25, 2026 08:25
Comment thread acceptance/acceptance_test.go Outdated
// binary as `task` and the release build; otherwise acceptance/fips (which
// asserts the FIPS build settings) fails outside `task`.
repoRoot := ".."
RunCommand(t, args, repoRoot, []string{"GOOS=" + osName, "GOARCH=" + arch, "GOFIPS140=" + readGOFIPS140(t, repoRoot)})

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: readGOFIPS140 is called multiple times, because BuildCLI is called multiple times; could be moved to global var so it's only done once.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved to testAccept

ilyakuz-db and others added 2 commits August 25, 2026 10:46
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
@ilyakuz-db
ilyakuz-db added this pull request to the merge queue Aug 25, 2026
Merged via the queue into main with commit 748199d Aug 25, 2026
25 checks passed
@ilyakuz-db
ilyakuz-db deleted the fips-go-test branch August 25, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants